[% setvar title The Perl 6 Summary for the six days ending 2004-08-06 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the six days ending 2004-08-06'></a><h1>The Perl 6 Summary for the six days ending 2004-08-06</h1>
<p>Another short week and the rollover point is now set to Friday nights
in preparation for September when I'll almost certainly not have
weeknights free. (Of course, I don't expect the summary will be coming
out any earlier in the week through August, what with Saltburn Folk
Festival this coming weekend, EuroFoo the weekend after and Towersey
Folk Festival the weekend after that.</p>
<p>Just for a change, we'll start with the discussions in perl6-language.</p>
<a name='Meanwhile, in perl6-internals'></a><h1>Meanwhile, in perl6-internals</h1>
<a name='ICU Outdated'></a><h2>ICU Outdated</h2>
<p>Unicode is evil I tell you. Necessary, but evil. If ever there was an
essential piece of technology that was absolutely guaranteed to annoy
everyone then Unicode is probably it.</p>
<p>The Unicode issue this week was the ongoing discussion of what to do
about ICU. It's huge, it's in C++ and Dan maintains we can't do without
it (unless some kind soul were to implement a Unicode library with
all of ICU's features and fewer of its annoyances -- now there's a
postgraduate task for the interested).</p>
<p>Dan's plan is:</p>
<ul>
<li><a name='1'></a>1</li>
<p>Make Configure detect and use a system ICU, if available</p>
<li><a name='2'></a>2</li>
<p>Dan will spec out encoding and charset APIs for loadable encoding and
charset modules</p>
<li><a name='3'></a>3</li>
<p>Parrot gets fixed to use those APIs</p>
<li><a name='4'></a>4</li>
<p>Add support for non-Unicode encodings and charsets</p>
<li><a name='5'></a>5</li>
<p>Make ICU a loadable module tied into the encodings and charset API</p>
<li><a name='6'></a>6</li>
<p>Profit!</p>
</ul>
<p>This puts Dan smack on the Critical Path, but what's new?</p>
<p><a href='http://groups.google.com/groups?threadm=59D9DAFBB46CD51184170002A513650E0A23F220@rosnt76.ets.org' target='_blank'>groups.google.com</a></p>
<a name='Span!'></a><h2>Span!</h2>
<p>Matt Kennedy announced the initial release of a new Parrot based
language called Span. And very lovely it looks too (Think Smalltalk
meats Block structured languages and wins), if only I could get it to
compile on my Panther installation.</p>
<p><a href='http://groups.google.com/groups?threadm=4b97ab4f04073122161b812770@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://homepage.mac.com/matt.kennedy/Span/' target='_blank'>homepage.mac.com</a></p>
<a name='Executable AST'></a><h2>Executable AST</h2>
<p>In an intriguing post, Leo announced that Parrot's now running code
directly from a (Python) Abstract Syntax Tree description. The post is
light on details, but big on potential.</p>
<p><a href='http://groups.google.com/groups?threadm=410D158E.2050806@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Roadmaps'></a><h2>Roadmaps</h2>
<p>Dan announced that he'd committed a <b><i>DESIGN_TODO</i></b> file to the
repository with brief details of what he thinks needs working on. He
also posted a short term roadmap of things to deal with in the near
future and very interesting it looks too (he reckons we should be able
to get serializable continuations working, which would be rather cool).</p>
<p><a href='http://groups.google.com/groups?threadm=a0611040cbd35409432fb@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='PMC Basics'></a><h2>PMC Basics</h2>
<p>Leo posted a list of issues with how PMCs work. Warnock applies.</p>
<p><a href='http://groups.google.com/groups?threadm=410FD8FC.5050506@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Starting to make things final'></a><h2>Starting to make things final</h2>
<p>Dan pointed at the efforts of Piethon and the 'PHP on Parrot' people
and at Span and declared that we're at the point where things that are
in and implemented should be documented and fixed and that things that
are in flux should 'un-flux and get fixed'. He sketched the road to
0.2.0, 0.2.1 and thence to 0.3.0. The idea is that 0.2.0 (or 0.2.1)
will be a 'complete' stable, good enough platform for language
developers. Which will be nice.</p>
<p>Oh, there's going to be a compiler writer's list (probably
parrot-compilers) spun off from perl6-internals (which will probably
become parrot-internals). Names are slightly undecided at present (but I
will aim to cover both lists in my summaries).</p>
<p><a href='http://groups.google.com/groups?threadm=a06110414bd3595b927b7@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='Declaring MMD subs from PASM/PIR'></a><h2>Declaring MMD subs from PASM/PIR</h2>
<p>He who must not be capitalized, chromatic, wondered about declaring
parrot subroutines that participate in multiple dispatch. He outlined a
scheme that Dan had suggested (presumably at OSCON) and asked for
comments. Leo and Dan discussed it further, but I don't think
anything's final yet.</p>
<p><a href='http://groups.google.com/groups?threadm=1091591557.11760.19.camel@localhost' target='_blank'>groups.google.com</a></p>
<a name='Everything Parrot'></a><h2>Everything Parrot</h2>
<p>Documents maestro Michael Scott posted the beginnings of a subject
overview for Parrot. He asked people to point out any bits and pieces
he'd missed.</p>
<p><a href='http://groups.google.com/groups?threadm=F411494D-E59C-11D8-8E57-000A95C50226@mac.com' target='_blank'>groups.google.com</a></p>
<a name='A testimonial and a question'></a><h2>A testimonial and a question</h2>
<p>Andrew Rodland delurked to say nice things about Parrot (&quot;pretty smooth
stuff&quot;) and to ask if there was a handy list 'It Would Be Nice If...'
tasks that newcomers could get started on without having to dive
straight into hacking the core. Simon Glover pointed at the TODO
list. He suggested that you can't have too many tests and that writing
tests can be a good way of getting a handle on what the core does (or
is supposed to do).</p>
<p>Reading tests can be a good way of getting a handle on what the core
does too, of course.</p>
<p><a href='http://groups.google.com/groups?threadm=200408032053.35122.arodland@entermail.net' target='_blank'>groups.google.com</a></p>
<a name='The new Perl 6 Compiler pumpking'></a><h2>The new Perl 6 Compiler pumpking</h2>
<p>Dan announced that Patrick Michaud stepped up to the plate and taken
charge of getting the Perl 6 compiler module written. Welcome Patrick,
and the very best of luck.</p>
<p>Leon Brocard asked Patrick what his plan of attack was. No reply so far.</p>
<p><a href='http://groups.google.com/groups?threadm=a0611041cbd369569d039@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='Spilling problems'></a><h2>Spilling problems</h2>
<p>The thing about writing naive compilers for naive languages is you end
up with rather large Parrot subroutines. Dan's work project is
generating ~6000 line subs. Which shouldn't be a problem, but it seems
that IMCC's register spilling algorithm is getting itself into a
horrible tangle. Dan suggested thumping the register spilling code to
fall back to a fairly stupid scheme when the 'optimal' algorithm runs
into problems. Leo's working on it, but it's not easy. Any help
gratefully received.</p>
<p><a href='http://groups.google.com/groups?threadm=a0611041fbd369cae8447@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<p><a href='http://groups.google.com/groups?threadm=a06110405bd37f9426c28@' target='_blank'>groups.google.com</a>[172.24.18.98]</p>
<p><a href='http://groups.google.com/groups?threadm=FE6307104985D611A92A0002A5F3AB00B9DB19@exch1.Sterling.COM' target='_blank'>groups.google.com</a></p>
<a name='Anyone up for a big challenge?'></a><h2>Anyone up for a big challenge?</h2>
<p>Dan pointed everyone at TinyCOBOL, a GNU COBOL compiler. He suggested
that using Parrot as a way to migrate legacy COBOL apps would qualify
as a Good Thing. So, if anyone would care to rejig TinyCOBOL to target
parrot for a grateful world...</p>
<p>Anyone? Bueller?</p>
<p>Actually, it looks like Tim Howell is working on it.</p>
<p><a href='http://groups.google.com/groups?threadm=a06110423bd36b0ff4752@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<p><a href='http://tiny-cobol.sourceforge.net/' target='_blank'>tiny-cobol.sourceforge.net</a></p>
<a name='Syntax highlighting'></a><h2>Syntax highlighting</h2>
<p>Taking the bit well and truly between his teeth, former lurker Andrew
Rodland posted a bunch of patches to improve syntax highlighting of
Parrot code in vi. Of course, I use Emacs, so it's no good to me, but
still, it's good to see.</p>
<p><a href='http://groups.google.com/groups?threadm=rt-3.0.11-30943-93137.6.86980476182967@perl.org' target='_blank'>groups.google.com</a></p>
<a name='spawn, meet exec'></a><h2><code>spawn</code>, meet <code>exec</code></h2>
<p>Possibly because there's no superhero called Exec, Dan overlooked it
when he added a <code>spawn</code> opcode. So he's fixed that. It works like
you'd expect. He asked for help to make it work nicely in
Windows. Brent Royal-Gordon, Aaron Sherman and Jonathan Worthington
rallied round.</p>
<p><a href='http://groups.google.com/groups?threadm=a0611040abd381c53a42e@' target='_blank'>groups.google.com</a>[172.24.18.98]</p>
<a name='Looking for a hardware donation'></a><h2>Looking for a hardware donation</h2>
<p>If you've been reading this summary for any length of time, you'll be
aware that Leo writes rather a lot of code. But he writes it on an x86
Linux system with GCC which, as Dan pointed out, is 'possibly the most
forgiving development environment on the planet, even with full
warnings', which can be problematic when people with other systems do a
<code>cvs update</code>.</p>
<p>So, the Perl Foundation is organizing a drive to get Leo something nice
and Unixy but less forgiving to use for local portability testing. If
you can help, either Leo or The Perl Foundation would be very pleased
to hear from you.</p>
<p><a href='http://groups.google.com/groups?threadm=a06110411bd393106d55f@' target='_blank'>groups.google.com</a>[172.24.18.98]</p>
<a name='Announcements, Apologies, Acknowledgements'></a><h1>Announcements, Apologies, Acknowledgements</h1>
<p>Tcha! Wouldn't you know it, as soon as I decide that Luke Palmer will
join the ranks of the monomonikered, he clams up. Bah!</p>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send feedback or contributions to a
'getting Piers to OSCON 2005' fund to mailto:<a href='mailto:pdcawley@bofh.org.uk'>pdcawley@bofh.org.uk</a></p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
</div>
